Remote access data visualisation system

ABSTRACT

Using a World Wide Web browser having the capability of downloading software, a user can download data together with data visualization software. In a particular arrangement, the user can download traffic data from the call records of a network provider, in relation to particular network numbers. By downloading a data visualization software tool at the same time, the user can look almost in realtime at events on the network. This means a service provider, providing a service on the network can monitor the response to an advertising campaign for instance where a Freephone number has been launched.

[0001] The present invention relates to a system and/or process forremote access to data and visualisation thereof. It finds particularapplication in data 5 monitoring.

[0002] Data visualisation techniques are known and clearly useful. Thereare many scenarios in which a user may have complex and extensive dataavailable to them. The ability to present large data sets in a graphicalform which allows a user to gain more understanding of the original datahas been the focus of the emerging subject of scientific visualisationfor the past few years. In a typical visualisation application, data isrepresented in the form of a three dimensional graphical object on acomputer display screen. The shape and colouring of the object aredictated by the data set from which it was derived. The user has theability to move and turn the object on the screen and adjust thelighting angles to highlight features in the data set. The use ofanimation, where the form of the object varies in time according tochanges in the base data, is also a valuable mechanism in communicatingtrends in the data set.

[0003] Visualisation is used for instance within the scientific andacademic communities to examine the results of simulations andexperiments. The data is generally stored locally to the computer onwhich the visualisation is to be performed and each set of data isapproached with the user writing software to produce a differentvisualisation. Thus visualisation is a mechanism of data access used bytechnical users who understand the nature of, and access methods for,their data. It has now been realised, in making the present invention,that it is possible and advantageous to find a way to give remote accessto data, together with visualisation capability, to non-technical users.

[0004] According to the present invention, there is provided a remoteaccess data visualisation system comprising:

[0005] i) a communications network;

[0006] ii) access means for use in accessing a database;

[0007] iii) means for receiving a user request in relation tovisualisation of data stored in the database; and

[0008] iv) at least one data visualisation software tool for visualisingdata from the database, the tool being stored, when not in use by auser, so as to be downloadable to a user location, wherein the system isadapted to respond to a received user request in relation to datavisualisation by downloading:

[0009] a) the data visualisation software tool; and

[0010] b) location information for data for use by the tool invisualisation, to the user location.

[0011] The user location can be remote with respect to either or both ofthe database and the storage location for the software tool.

[0012] It will be understood that the network may in practice comprisemore than one type of network. For instance, the network may in practicebe provided by a local area network connected to a public switchedtelecommunications network and/or to the Internet.

[0013] Preferably, the system further comprises means for loading andupdating data in the database in a form which can be queried by the datavisualisation software tool when downloaded to the user location. Thisallows a system operator also to provide the relevant data for the userto visualise.

[0014] By providing a suitable data visualisation means, such a systemcan enable a non-technical user, at a remote location with respect to adatabase, to access a complex data set and to control the manner ofpresentation so that the data is presented in a graphic andunderstandable way. This brings data visualisation techniques to a fargreater range of users. For instance, data visualisation could,according to embodiments of the present invention, provide significantbenefits to commercial fields, particularly the financial andtelecommunications industries, where large quantities of data areroutinely collected on computerised monitoring systems. Allowing a widerrange of people within an organisation, with widely differing technicalcapabilities, to examine this data could for instance provide a valuableinsight into the effectiveness of a particular operation. Alternatively,an organisation might want to provide better information to theircustomers.

[0015] A problem solved by embodiments of the present invention ismoving the field of data access and visualisation from the province ofthe technical expert situated close to the data source to the area ofaccess by a geographically diverse set of users with varying levels ofexperience and different types of equipment.

[0016] In a particularly useful and advantageous embodiment, the data tobe accessed may comprise traffic data for a communications network. Auser who has an interest in traffic on that network may then be able todownload and visualise the data in an extremely useful way. Forinstance, if the user is a service or information provider, it would bepossible for the user to get extremely early feedback on the response toa new or modified service, or to an advertising campaign, in a way whichhas not previously been available. The data visualisation software toolwill of course in these cases generally be a tool for visualisingcommunications traffic and may provide for instance a bar chart formatand/or geographical indicators.

[0017] Preferably, the means for receiving a user request comprisesauthentification means for authenticating a received request as beingmade by an authorised user. This means that the database could containconfidential information.

[0018] As mentioned above, the user request may carry an identifier fordata to be selected from the database, in which case theauthentification means may authenticate the request specifically inrelation to the data to be selected. A system of this type would haveparticular relevance where the data comprises communications trafficstatistics in a network and the identifier may comprise one or moretelephone numbers in which the user may have an interest. For instance,this may be because the user is a service provider, using said one ormore telephone numbers in provision of the service. Preferably, thesystem then further comprises means to read the identifier and todownload, together or in association with the data visualisationsoftware tool, one or more addresses for location of the data to beselected.

[0019] Effectively, it becomes possible to provide a practicable systemof remote access data visualisation. The system of providing a dataaccess method to a remote computer where the data presentation andaccess software are retrieved by the user automatically at the time ofdata access is a new technique in data distribution. If the data relatesto traffic statistics in a communications network, then this is aparticularly useful system for the service provider who can monitoralmost in real time the success or otherwise of a particularcommunications service.

[0020] Another use of an embodiment of the invention might be to accessdata relating to financial transactions. In this case, an identifier forrelevant data might comprise one or more account numbers, or a bankingoffice address.

[0021] A data access and visualisation system according to an embodimentof the present invention will now be described, by way of example only,with reference to the following Figures in which:

[0022]FIG. 1 shows in schematic form components of the data access andvisualisation system;

[0023]FIG. 2 shows a flow diagram of the process steps involved at highlevel in accessing and visualising data using the system of FIG. 1;

[0024]FIG. 3 shows a graphical display which might be accessed by a userin use of the system;

[0025]FIG. 4 shows a display control window by means of which agraphical display according to FIG. 3 might be controlled by a user inuse of the system;

[0026]FIG. 5 shows a data selection window by means of which data beingvisualised in use of the system can be selected by a user; and

[0027]FIG. 6 shows a flow diagram of the process steps of FIG. 2represented at a more functional level.

[0028] A major problem in moving to geographically diverse data accessis the method of delivery. To be of practical use the system shouldpreferably be capable of allowing immediate access to data which iscontinually being produced. Different methods of data visualisation areappropriate to different data types and so require different software inwhich to produce them. Although it would be possible for each user toprocure and load the necessary software onto their local machines priorto receiving the data, this would involve delay and require a certainlevel of technical competence on the part of the user.

[0029] Referring to FIG. 1, the data access and visualisation systemprovides data to a user's personal computer (PC) 160 by means of one ormore (in this case three) communications networks 130,140,150. That is,the user's PC 160 is connected via their own Local Area Network (LAN)150 in known manner to a data network with high inter-connectivitybetween different sites, for instance an “information superhighway” suchas the Internet 140. In turn, the Internet is connected to a publicnetwork 130 with which the target database 120 is associated.

[0030] The target database 120 in the general case may belong to theuser, albeit in a different location or locations from their PC, or itmay for instance be that of an independent service or informationprovider. In the embodiment described below, the database 120 is that ofthe public network provider and receives network management informationfrom the public network 130 in the normal running of the network 130,including performance and traffic data. Hence the database 120 isconnected to a network management system 170 which processes (in knownmanner) management information from the network 130. It is alsoconnected to the public network 130 for remote access to the managementdata.

[0031] The public network 130 itself provides the link from the Internet140 to the network provider's computing system 100. Access for the userto the remote computing system 100 is via a Common Gateway Interface(CGI) 110. (The CGI is a known protocol and is simply shown in FIG. 1 asa functional block.) The user's PC 160 is provided in known manner witha World Wide Web (WWW) browser 190 for locating and accessinginformation via the Internet 140. A WWW browser 190 is not essential butis used in order to obviate the need to supply different software forusers'differing computers. Several of these are currently available foraccessing information from sites on the Internet 140 including Mosaicand Netscape (Trade Marks). However, in order to realise an embodimentof the present invention, a browser having capabilities equivalent tothose of “HotJava” (Trade Mark) developed by SUN Microsystems isrequired. That is, the browser should be able to retrieve not only textand images from the Internet 140, but also sections of executable codethat can run on the user's own machine. If a HotJava browser is used,the code can run securely, within HotJava on the user's machine.

[0032] These sections of code are referred to as “applets” 180 and arewritten in the java programming language. In the embodiment of theinvention described, the applets 180 will be stored on the networkprovider's computer system 100. They are only retrieved when it isnecessary and are loaded automatically by the browser 160, as describedbelow. There is no need for the user to identify and load the relevantsoftware locally. Details of HotJava can be found from WWW athttp://java.sun.com.

[0033] Overall, the process for implementing the remote data access andvisualisation technique covered in this patent application takes thefollowing form. A user accesses a relevant page on the Internet,dedicated to the visualisation process, by using their WWW browser 190.The software to provide the appropriate visualisation tool is thendownloaded from the remote computer 100 into the browser running on theuser's own computer 160.

[0034] The exact form of the graphical user interface can vary dependingon the type of data being accessed but it will always contain amechanism for a user to select a specific set of data.

[0035] Referring to FIG. 2, the operation of the system can be describedby the following process steps:

[0036] STEP 200: the user locates and enters a WWW page provided by thepublic network provider;

[0037] STEP 205: visualisation software is downloaded, again provided bythe public network provider;

[0038] STEP 210: the visualisation software is run on the user's browser190;

[0039] STEP 215: the visualisation software prompts the user to requestdata;

[0040] STEP 220: once the user has identified the data to be requested,the visualisation tool communicates with the network provider's computer100, requesting the identified data from the remote database 120. Thiscauses a process to run on the network provider's computer 100, queryingthe database 120;

[0041] STEP 225: the remote database 1 20 responds by sending therequested data to the network provider's computer 100 which packages itin a form that can be viewed by the user at any one time and sends it tothe user's browser 190;

[0042] STEP 230: the visualisation software presents the data to theuser;

[0043] STEP 235: the user moves through the data using the visualisationtool.

[0044] After STEP 235, the user can return to STEP 215 and repeat STEPS220 to 235 in respect of freshly requested data. The intention is thatthe user will employ the visualisation tool to look through the datathat has been requested. Once the user has gained all of the informationrequired from a particular data set, they can request additional datafrom the remote machine 100 and the first data set can be discarded.

EXAMPLE Telephone Traffic Data Visualisation

[0045] In a specific implementation of the data access method describedabove, the data a user requests relates to the number of telephone callsmade over the public network 130 to a specific number, belonging to theuser, from different regions of the country. The data available in thedatabase 120 has already been processed by the network provider suchthat calls are grouped according to the trunk network exchange that theyoriginate on and by the hour in which they were made.

[0046] Referring to FIG. 3, a basic graphical display might thencomprise a set of towers 300, 305 extending in a three-dimensionalrepresentation from a map of the UK. The location of the towers 300, 305shows the actual location of the trunk exchanges and the height andcolour of each tower 300, 305 relate to the number of calls handled bythe relevant exchange in a one hour period. (Such displays are of knowntype. Other display techniques could be substituted and will generallybe optimised for the nature of the data involved.)

[0047] Referring to FIG. 1, the operation of the data access system istherefore as follows. The user enters the appropriate page on WWW,provided by the network provider, and is asked to enter the destinationtelephone number in which they are interested, in addition to their nameand password. This will then run a script 115 via the Common GatewayInterface (CGI) 110 on a remote server of the network provider'scomputer system 100 to check the authority of the user to access theappropriate data. Assuming that the authorisation is given, the scriptwill return an html (Hyper Text Mark-up Language) page to theoriginating browser into which is included a line specifying the applet180 which must be loaded in order run the visualisation tool. Inputinformation 125 to the applet 180 is also included on this line. In thecase of a call record implementation this includes the location of adata file containing the outline map of the UK, a file giving thelocation of the towers 300, 305 and a file containing additionalinformation about each tower that will display when a tower is selected.More information about this selection is given later. In addition theappropriate address for accessing the data from the remote server ispresented. On receiving this html page, the HotJava browser will loadthe applet 180 from wherever it is stored, which will conveniently befrom the remote server.

[0048] Once the applet 180 has successfully loaded into the browser 190it will access the remote server to download the necessary map files.This is achieved using the standard remote file access features suppliedwith a release of HotJava available from http://java.sun.com. An initialdisplay as shown in FIG. 3 is then drawn to the screen using theexisting library functions available with HotJava. Depth cueing can beimplemented in a call record visualisation exercise in order to give theuser a visual guide to the orientation of the display.

[0049] Referring to FIGS. 4 and 5, in the call record implementation ofthe remote data access, the applet 180 causes three additional windowsto be displayed on the screen. These are the display control window(FIG. 4), data selection window (FIG. 5) and pick data windows (notshown). These windows are only open for the period that the user isinside, on the data access page.

[0050] Display Control

[0051] A geometry package has been developed which can be used as aplatform for other visualisation applets that require the user to beable to manipulate a graphical object on the screen. The availablefunctions are:

[0052] rotation—this is achieved by either placing the mouse pointerover the graphical display and dragging the mouse with the mouse buttondepressed in the required direction of rotation or alternatively byadjusting the slider bars on the display control window shown in FIG. 4.All mouse control functions are provided in the HotJava applet library.The mechanism for rotating the object involves updating a transformationmatrix and applying it to the original graphical data set as the mouseis dragged across the screen. Following each matrix transformation thescreen is redrawn. This is a standard computer graphics technique. Dueto the computation overhead required in rotating the whole image in realtime another mode of rotation is available. In this case, on depressingthe mouse button a box which fully bounds the graphical object is drawnon the screen in place of the full display. This contains far fewercomponents and so can be rotated far quicker than the full image. Thetwo modes are selected using the mutually exclusive “Normal” and“Bounding Box” buttons on the display control screen. The bounding boxtechnique is employed in other visualisation products, for example AVS.

[0053] scaling—the image can be made larger and smaller using thescaling slider bars on the display control window. The ability to scalethe figure differently in three orthogonal planes is provided. Scalingis achieved via a transformation matrix in much the same way asrotation.

[0054] translation—the image can be moved around the screen using thetranslate slider bars on the display control window. Movement is dividedinto three orthogonal directions.

[0055] reset—this returns the display to a predefined orientation whichis stored within the applet.

[0056] Data Selection

[0057] Referring to FIG. 5, the data selection window offers the userthe ability to choose the appropriate data set. In the case of the callrecord implementation, this involves selecting the appropriate hour andday for which data is required. This is done via a set of widgets 500 inthe data selection window that allow the user to select the appropriateday, month and year. The widget sets are available in the Java widgetlibraries.

[0058] In addition to setting the date and time, any subset of data canalso be selected at this point. In the call record example, the callsare split into two categories, effective and ineffective. Thus the usercan select whether or not to view the effective calls, ineffective callsor all calls (the sum of effective and ineffective).

[0059] Once the appropriate date and time has been selected, the userpresses the “Retrieve Call Data” button 505. This initiates a query to adatabase 120 running on the remote server. In a call recordimplementation, it may be that the access time to retrieve data from thedatabase 120 is considered to be unacceptable and a number ofpre-prepared data files corresponding to individual hour slots can beproduced. These can then be retrieved from the database 120 and a formof data compression carried out. That is, all extraneous white spacesand unwanted data can be removed from the resulting files to ensure thesmallest possible file to increase the speed of transmission of the filefrom the server to the browser 190 across the Internet 140. In thiscase, depressing the “Retrieve Call Data” button 505 causes the browser190 to request the file corresponding to the correct date and time fromthe remote server. This is achieved using the remote file accesslibraries supplied with HotJava.

[0060] In addition to retrieving data for a single period, the callrecord example can allow for the data representation to be animated. Theuser can select whether or not to animate over 24 hours, in which casethe data is accessed one hour at a time from the server and displayed onthe screen in a series of 24 frames. Alternatively the user can selectto run over a week, in which case seven sets of data are retrievedcorresponding to the selected hour on seven subsequent days. Selectionof the one month option will result in a “calendar months” set of filesbeing accessed for the selected hour and displayed on the screen inturn. At each point the animation can be started or halted by pressingthe “Animate/Stop” button 510 on the data selection screen. Thisinitiates or halts the loop which controls the remote data file accesscommands.

[0061] Data Picking

[0062] An additional feature available within the call record dataaccess system is the ability to acquire additional data about individualtowers. This data is contained in a file that is loaded shortly afterthe applet 180 and can be tailored to the requirements of individualusers. Referring to FIG. 4, to enable the data picking facility, the“Pick Information” button 400 on the display control window should bedepressed. This will freeze the image of the towers 305, 310 and mapoutline on the screen. The locations of the towers 305, 310 areconverted, via the transformation matrix, from three dimensional to twodimensional space and a two dimensional map is created on which theextents of each form a polygon. Where one tower obscures the view ofanother a check is made on the three dimensional data to ensure that thetwo dimensional map attributes the front tower an area corresponding toits fullest extent and the obscured tower only has an area equivalent toits unobscured portion.

[0063] Now as the mouse pointer tracks across the display a check ismade to see when the pointer enters a tower area on the two dimensionalmap. When this occurs the tower is redrawn in white and the informationcorresponding to that tower is displayed in text form in the pick datawindow. Further information about the specific location can be accessedby depressing the mouse button at this point. This causes the browser toaccess a different html page, the address of which is stored in thetowers data file, and to shut down the additional windows that wereopened by the java applet. (The ability to move to other html pages fromwithin a java applet is provided in the java libraries.)

[0064] Data Exchanges

[0065] Referring to FIG. 6, this section describes the precisemechanisms in which data is accessed and passed around the datavisualisation system.

[0066] Authorisation

[0067] On entering the welcoming WWW page (STEPS 600, 605) the user isrequired (STEP 610) to input the telephone number for which they requiredata and a password (STEP 615) associated with this number. This isimplemented using the FORM , ACTION and METHOD tags specified in thehtml (Hypertext Markup Language). Following this action a process isinitiated on the remote server, using the Common Gateway Interface(CGI), which will examine the password and telephone number combinationto ensure that they correspond (STEP 620). If this is the case, theprocess will form a file in html, including the Java applet tagindicating the location of the visualisation application, which isreturned to the browser at the local host. The WWW browser running atthe local host accepts this as a new page and downloads and launches thedata visualisation application.

[0068] Data Retrieval

[0069] The visualisation application allows the user to select the datato be retrieved via a graphical user interface (STEP 625). Once the userhas requested a particular set of data another process, referred tohereafter as the retrieval process 135, is created on the remote serverusing CGI. The arguments passed to the retrieval process 135 identifythe data that is required. It is the retrieval process (STEP 630),running on the remote server that forms a query using SOL (StandardQuery Language) which is used to extract the necessary data from theCall Records Database (STEP 635). The Call Records Database could be oneof a number of commercially available databases, for example ORACLE. Theresult of the query on the database is received by the retrieval processand compressed (STEP 640) to produce a binary file. The binary file isaccessed by the local host using the standard libraries supplied withthe Java language and unpacked to provide the data required by thevisualisation software (STEP 645).

[0070] The commercial software required to provide this system includesa database containing the call records and a WWW server running on theremote server in addition to a Java compatible WWW browser running onthe local host. The additional software developed to produce this systemincludes the visualisation application itself, written in Java, inaddition to the authorisation and retrieval processes on the remoteserver. These could be written in any suitable language, including forinstance “C”.

1. A remote data access system, comprising a data store accessible bymeans of a data access network, and a data browser for locating data inthe store and downloading it over the network to a user station, whereinthere is further provided data visualisation software for selecting andcontrolling presentation of the data, the data browser being adapted todownload the data visualisation software over the network, and to runsaid software at the user station to select and control presentation ofdata downloaded from the data store.
 2. A system according to claim 1wherein the data visualisation software includes means for accessing thedata store to download a set of data therefrom to the user station.
 3. Asystem according to either one of the preceding claims wherein the datastore comprises data sets which are protected by an authentificationprocedure and the data visualisation software includes means forsatisfying the authentification procedure in respect of at least one ofsaid data sets.
 4. A system according to any one of the preceding claimswherein the data store comprises call records in respect of acommunications network.
 5. A system according to claim 3 wherein thecommunications network is a different network with respect to the dataaccess network.
 6. A system according to claims 3 and 4 wherein the datasets each carry the call records for a respective service providermaking services available over the communications network.
 7. A systemaccording to claim 4 , or to either one of claims 5 or 6 as dependent onclaim 4 , wherein said call records are updated at intervals of no morethan twenty four hours such that the system is able to provide a nearreal-time view to the user station.
 8. A system according to any one ofclaims 4, 5, 6 or 7 wherein the communications network is provided witha billing system for outputting bills to users of the network, and thedata store of the remote data access system comprises at least part of acall record store used to store and output call data to the billingsystem in respect of the communications network.
 9. A data visualisationsystem for enabling remote access by a user to a database, the userhaving a user station equipped with a browser capable of downloading andrunning software, the data visualisation system comprising: i) acomputer system provided with one or more modules of software for use invisualising data, and provided with means responsive to a request fromthe user station to output or copy one or more of said modules ofsoftware to the user station; and ii) a database accessible by the userunder the control of the computer system to output data to the userstation, and comprising data stored in a form which can be queried bythe one or more modules of software when downloaded together with thesoftware to the user station; the arrangement being such that data canbe downloaded from the database to the user station, under control ofthe computer system in response to user inputs at the user station, thecomputer system also providing one or more of said modules of softwareto the user station, such that the user can visualise the data by meansof said one or more modules at the user station.
 10. A system accordingto claim 9 wherein the data comprises communications traffic data.
 11. Asystem according to either one of claims 9 or 10 wherein the one or moremodules of software comprise data visualisation software for visualisingcommunications traffic in a communications network.
 12. A systemaccording to claim 11 wherein the spatial distribution of the traffic inthe network can be visualised.
 13. A system according to either one ofclaims 11 or 12 wherein the temporal distribution of the traffic datacan be visualised.
 14. A system according to any one of claims 11 to 13wherein the data is arranged at least in part in data sets, each dataset comprising traffic data accumulated over an interval of time.
 15. Asystem according to any one of claims 11 to 14 wherein data to bedownloaded to the user station relates to a common destination number,or set of numbers, in a communications network.
 16. A system accordingto any one of claims 11 to 15 wherein the computer system also providesnetwork management of a communications network and the data relates totraffic in that network.
 17. A system according to any one of claims 11to 16 wherein the computer system comprises means for processing thedata prior to downloading to the user station so as to reduce thetransmission capacity required for said downloading.
 18. A systemaccording to any one of claims 11 to 17 wherein the computer system isprovided with means to authenticate a request by a user for data to bedownloaded.
 19. A method of providing data visualisation to a remoteuser, of data stored in a database in a form which can be queried by adata visualisation software tool, which method comprises storing thedata visualisation software tool in a computer system, receiving arequest to the computer system from a remote user for the tool,authenticating the request and outputting or copying the tool to theuser, receiving a request from the user for data from the database bymeans of the tool, accessing the database and providing the data to theuser.
 20. A method according to claim 19 wherein the data comprisescommunications traffic data in a network.
 21. A method according toclaim 20 wherein the network to which the data is relevant is used atleast in part to transmit the data to the user station and the computersystem provides network management of said network.
 22. A remote accessdata visualisation system comprising: i) a communications network; ii)access means for use in accessing a database; iii) means for receiving auser request in relation to visualisation of data stored in thedatabase; and iv) a data visualisation software tool stored, when not inuse by a user, in relation to the network so as to be downloadable overthe network to a user location, wherein the system is adapted to respondto a received user request in relation to data visualisation bydownloading: a) the data visualisation tool; and b) location informationfor data for use by the tool in visualisation, to the user location. 23.A system according to claim 22 wherein the database holds trafficmanagement statistics in relation to a communications network and themeans for receiving a user request comprises means for reading anidentifier for one or more telephone numbers of the network, the or eachdata visualisation tool downloaded in response to a request thereafterbeing enabled only to visualise traffic data in relation to thetelephone number(s) identified in that request.